/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mb;

import beans.Fatura;
import beans.HistoricoFatura;
import java.io.Serializable;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import rn.HistoricoFaturaRN;

/**
 *
 * @author Caio
 */
@ManagedBean(name="controllerHistoricoFatura")
@RequestScoped
public class ControllerHistoricoFatura implements Serializable {
    
    public ControllerHistoricoFatura(){}
    
    @ManagedProperty(value="#{historico_fatura}")
    private HistoricoFatura historico_fatura;

    private List<HistoricoFatura> lista;
    
    private DataModel listaDataModel;
    
    private Fatura faturaSelecionada;
    
    public void limpar() {
        setHistorico_fatura(new HistoricoFatura());
    }

    ////////////////////////////////////////////////////////////////////////////   
    
    public DataModel getListaDM() {
        HistoricoFaturaRN rn = new HistoricoFaturaRN();
        this.listaDataModel = new ListDataModel(rn.listar());
        return this.listaDataModel;
    }
    
    public List<HistoricoFatura> getLista() {
        HistoricoFaturaRN rn = new HistoricoFaturaRN();
        this.lista = rn.listar();
        return this.lista;
    }    
       
    public void salvar(){
        HistoricoFaturaRN rn = new HistoricoFaturaRN();
        rn.salvar(this.historico_fatura);
        limpar();
        FacesContext context = FacesContext.getCurrentInstance();            
        context.addMessage(null, new FacesMessage("Cadastrado com Sucesso"));       
    }
    
    public void remover(){
        HistoricoFaturaRN rn = new HistoricoFaturaRN();
        this.historico_fatura= (HistoricoFatura)this.listaDataModel.getRowData();
        rn.excluir(this.historico_fatura);        
        limpar();   
        FacesContext context = FacesContext.getCurrentInstance();    
        context.addMessage(null, new FacesMessage("Excluído com Sucesso"));
    }
  

    public void alterar() {
        HistoricoFaturaRN rn = new HistoricoFaturaRN();
        rn.atualizar(this.historico_fatura);
        limpar();
        FacesContext context = FacesContext.getCurrentInstance();            
        context.addMessage(null, new FacesMessage("Alterado com Sucesso"));
    }

    public void prepararAlterar() {
        this.historico_fatura = (HistoricoFatura) this.listaDataModel.getRowData();
    }
    
    ////////////////////////////////////////////////////////////////////////////
    
    public HistoricoFatura getHistorico_fatura() {
        return historico_fatura;
    }

    public void setHistorico_fatura(HistoricoFatura historico_fatura) {
        this.historico_fatura = historico_fatura;
    }

    public DataModel getListaDataModel() {
        return listaDataModel;
    }

    public void setListaDataModel(DataModel listaDataModel) {
        this.listaDataModel = listaDataModel;
    }

    public Fatura getFaturaSelecionada() {
        return faturaSelecionada;
    }

    public void setFaturaSelecionada(Fatura faturaSelecionada) {
        this.faturaSelecionada = faturaSelecionada;
    }
    
}
